package main

import "fmt"

/*
		总结
		Go 的 switch 默认不穿透：每个 case 自动 break
		使用 fallthrough 实现穿透：会强制执行下一个 case 的代码
		穿透无视条件：即使下一个 case 的条件为 false 也会执行

		谨慎使用：容易导致意外行为，建议在明确需要的场景下使用
		考虑替代方案：使用函数或条件判断可能更清晰

	  fallthrough 是一个强大的特性，但需要谨慎使用，确保代码的可读性和正确性。
*/
func main() {

	score := 85

	switch {
	case score >= 90:
		fmt.Println("优秀")
		fallthrough
	case score >= 80:
		fmt.Println("良好")
		fallthrough
	case score >= 70:
		fmt.Println("中等")
		fallthrough
	case score >= 60:
		fmt.Println("及格")
	default:
		fmt.Println("over")
	}
}
